package com.luckcoder.relax.games.domain;

import org.dromara.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serial;

/**
 * 音效配置对象 relax_audio_config
 *
 * @author zhanghao
 * @date 2025-09-11
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("relax_audio_config")
public class RelaxAudioConfig extends TenantEntity {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 音效ID
     */
    @TableId(value = "audio_id")
    private Long audioId;

    /**
     * 游戏编码
     */
    private String gameCode;

    /**
     * 音效名称
     */
    private String audioName;

    /**
     * 音效类型（pop爆泡、eliminate消除、background背景、click点击、success成功）
     */
    private String audioType;

    /**
     * 音效URL（网络地址）
     */
    private String audioUrl;

    /**
     * 本地文件路径（备用）
     */
    private String localPath;

    /**
     * 音量（0.00-1.00）
     */
    private Long volume;

    /**
     * 时长（毫秒）
     */
    private Long duration;

    /**
     * 文件格式（wav、mp3、ogg、m4a）
     */
    private String fileFormat;

    /**
     * 失效时备用方案（generate生成音效、toast提示、silent静默）
     */
    private String fallbackType;

    /**
     * 权重（用于随机选择）
     */
    private Long weight;

    /**
     * 显示顺序
     */
    private Long sortOrder;

    /**
     * 状态（0正常 1停用）
     */
    private String status;

    /**
     * 是否启用（0禁用 1启用）
     */
    private String isEnabled;

    /**
     * 备注
     */
    private String remark;

    /**
     * 删除标志（0代表存在 1代表删除）
     */
    @TableLogic
    private String delFlag;


}
